package leetCode.hw.math;

/**
 * 杨辉三角变形题目
 *         1
 *      1  1  1
 *    1 2  3  2 1
 *  1 3 6  7  6 3 1
 *1 4 10
 * 以上三角形的数阵，第一行只有一个数1，以下每行的每个数，是恰好是它上面的数、左上角数和右上角的数，3个数之和（如果不存在某个数，认为该数就是0）。
 * 求第n行第一个偶数出现的位置。如果没有偶数，则输出-1。例如输入3,则输出2，输入4则输出3，输入2则输出-1。
 */
public class HJ53YanghuiTriangleSolution implements HJ53YanghuiTriangle {

    /**
     * 这个是个数学题, 可以用数学推理来进行解决
     * n=1 时： res = -1
     * n=2 时： res = -1
     * n=3 时： res = 2
     * n=4 时： res = 3
     * n=5 时： res = 2
     * n=6 时： res = 4
     * @param num
     * @return
     */
    @Override
    public int getNLineEvenPoint(int num) {
        if(num<= 2){
            return -1;
        }
        switch (num%4){
            case 0: return 3;
            case 1:
            case 3:
                return 2;
            case 2: return 4;
        }
        return 0;
    }

}
